package com.itheima.dubbo.interfaces;

import com.itheima.commons.model.domain.UserLoginRecord;

import java.util.Date;
import java.util.List;

public interface UserLoginRecordApi {
    /**
     *  根据用户id查询用户登陆信息
     * @param userId
     * @return
     */
    UserLoginRecord queryUserLoginRecordById(Long userId);

    /**
     *
     * @param userIds  当天注册用户ids
     * @param startOfDay 当前日期
     * @param i   几天后
     * @return
     */
    Integer queryCountByDateAndUserIds(List<Long> userIds, Date startOfDay, int i);
    /**
     * 根据用户的id查询用户的日志表
     * @param page
     * @param pageSize
     * @param sortProp
     * @param sortOrder
     * @param uid
     * @return
     */
    List<UserLoginRecord> queryLogsListByUserId(Integer page, Integer pageSize, String sortProp, String sortOrder, Integer uid);

    /**
     * 查询总条数
     * @param uid
     * @return
     */
    Long countLogsSize(Integer uid);

    /**
     *  登录的时候记录登录信息
     * @param userLoginRecord
     */
    void saveUserLoginRecordApi(UserLoginRecord userLoginRecord);
}
